package com.sip.stream.utils.zfy.camera;

import java.util.concurrent.atomic.AtomicInteger;

public class ZFYCameraStatus {
    public static final int CAPTURE_STATE_PICTURE_TAKEN = 4;
    public static final int CAPTURE_STATE_PREVIEW = 0;
    public static final int CAPTURE_STATE_WAITING_LOCK = 1;
    public static final int CAPTURE_STATE_WAITING_NON_PRECAPTURE = 3;
    public static final int CAPTURE_STATE_WAITING_PRECAPTURE = 2;
    private static final String TAG = "ZFYCameraStatus";
    private boolean previewing;
    private boolean recording;
    private boolean remoteing;
    private boolean autoInfraredLight = false;
    private int videoFrameFilter = 0;
    private int streamFrameFilter = 0;
    private boolean dualImagerReader = true;
    private AtomicInteger lockFoucesStatus = new AtomicInteger(0);
    private boolean afMode = false;


    public ZFYCameraStatus m685clone() {
        ZFYCameraStatus zFYCameraStatus = new ZFYCameraStatus();
        zFYCameraStatus.setPreviewing(this.previewing);
        zFYCameraStatus.setRemoteing(this.remoteing);
        zFYCameraStatus.setRecording(this.recording);
        zFYCameraStatus.setAutoInfraredLight(this.autoInfraredLight);
        zFYCameraStatus.setVideoFrameFilter(this.videoFrameFilter);
        zFYCameraStatus.setStreamFrameFilter(this.streamFrameFilter);
        zFYCameraStatus.setDualImagerReader(this.dualImagerReader);
        return zFYCameraStatus;
    }

    public boolean equalStatus(ZFYCameraStatus zFYCameraStatus) {
        return this.previewing == zFYCameraStatus.isPreviewing() && this.remoteing == zFYCameraStatus.isRemoteing() && this.recording == zFYCameraStatus.isRecording();
    }


    public boolean isAutoInfraredLight() {
        return this.autoInfraredLight;
    }

    public void setAutoInfraredLight(boolean autoInfraredLight) {
        this.autoInfraredLight = autoInfraredLight;
    }

    public void setStreamFrameFilter(int streamFrameFilter) {
        this.streamFrameFilter = streamFrameFilter;
    }

    public void setVideoFrameFilter(int videoFrameFilter) {
        this.videoFrameFilter = videoFrameFilter;
    }

    public void setRemoteing(boolean remoteing) {
        this.remoteing = remoteing;
    }

    public boolean isRemoteing() {
        return this.remoteing;
    }

    public void setRecording(boolean recording) {
        this.recording = recording;
    }

    public boolean isRecording() {
        return this.recording;
    }

    public void setPreviewing(boolean previewing) {
        this.previewing = previewing;
    }

    public boolean isPreviewing() {
        return this.previewing;
    }

    public void setDualImagerReader(boolean dualImagerReader) {
        this.dualImagerReader = dualImagerReader;
    }

    public boolean isDualImagerReader() {
        return this.dualImagerReader;
    }

    public int getVideoFrameFilter() {
        return this.videoFrameFilter;
    }

    public int getStreamFrameFilter() {
        return this.streamFrameFilter;
    }

    public boolean isAfMode() {
        return this.afMode;
    }

    public void setAfMode(boolean afMode) {
        this.afMode = afMode;
    }

    public int getLockFoucesStatus() {
        return this.lockFoucesStatus.get();
    }

    public void setLockFoucesStatus(int status) {
        this.lockFoucesStatus.set(status);
    }

    public String toString() {
        return "previewing " + this.previewing + "recording " + this.recording + "remoteing " + this.remoteing + "autoInfraredLight " + this.autoInfraredLight + "videoFrameFilter " + this.videoFrameFilter + "dualImagerReader " + this.dualImagerReader;
    }

}
